<?php
    require_once( $_SERVER['DOCUMENT_ROOT'] . '/mantenimiento/configuracion/configurar.php' );
    require_once( $_SERVER['DOCUMENT_ROOT'] . '/mantenimiento/configuracion/validaciones.php' );
    include_once( CLASS_PATH . "Principal/cQuery.php" );
    include_once( CLASS_PATH . "Principal/cPaginacion.php" );
    // include_once( CLASS_PATH . "Principal/class.cltipomedico.php" );

    class clPiso
    {
        private $strCodigo;
        private $strDescripcion;

        private $strEtiqueta;
        private $strNombreBoton;
        private $strValorBoton;
        private $strLectura;

        public function __construct()
        {
            $this->strCodigo = "";
            $this->strDescripcion = "";

            $this->strEtiqueta = "";
            $this->strNombreBoton = "";
            $this->strValorBoton = "";
            $this->strLectura = "";
        }

        // Funciones Get y Set de la Clase clDepartamento
        public function getStrCodigo()
        {
            return $this->strCodigo;
        }

        public function setStrCodigo($c)
        {
            $this->strCodigo = $c;
        }

//        public function getStrDescripcion()
//        {
//            return $this->strDescripcion;
//        }
//
//        public function setStrDescripcion($d)
//        {
//            $this->strDescripcion = $d;
//        }
//

        public function getStrEtiqueta()
        {
            return $this->strEtiqueta;
        }

        public function setStrEtiqueta($e)
        {
            $this->strEtiqueta = $e;
        }

        public function getStrNombreBoton()
        {
            return $this->strNombreBoton;
        }

        public function setStrNombreBoton($nb)
        {
            $this->strNombreBoton = $nb;
        }

        public function getStrValorBoton()
        {
            return $this->strValorBoton;
        }

        public function setStrValorBoton($vb)
        {
            $this->strValorBoton = $vb;
        }

        public function getStrLectura()
        {
            return $this->strLectura;
        }

        public function setStrLectura($l)
        {
            $this->strLectura = $l;
        }

        public function getStrFormulario()
        {
            $tipomedico = new clTipoMedico();
            $retval .= '
                        <script>
                            $(document).ready(function(){
                                $.metadata.setType( \'attr\', \'validate\' );
                                $(\'#frmdepartamento\').validate({
                                        rules:{                                                
                                                lsTipoMedico: { required: true}
                                        },
                                        messages:{
                                                lsTipoMedico: { required: "<span class=\'resultadoincorrecto\'><br>* Requerido</span>"}
                                        }
                                });
                            });
                        </script>
                       ';

            $retval .= '
                        <form id="frmdepartamento" action="'. DEPARTAMENTO_URL .'departamento.php" method="POST">
                       ';

            $Regresar = "regresar('". DEPARTAMENTO_URL . "departamento.php')";

            $retval .= '<fieldset class="fieldsetPequeno">';
            $retval .= '<legend class="etiquetaborde">
                            Departamento <img src="'. IMAGENES_PATH .'/siguiente.png" style="border: 0px none;"> Listado Departamentos <img src="'. IMAGENES_PATH .'/siguiente.png" style="border: 0px none;"> '. $this->getStrEtiqueta() .'
                        </legend>
                       ';

            $retval .= '
                        <table width="100%" border="0" align="center" cellpadding="1" cellspacing="1">
                            <tr>
                                <td colspan="2" align="center" class="tablatitulo">
                                        '. $this->getStrEtiqueta() .'
                                </td>
                            </tr>

                            <tr class="formulariofila1">
                                <td  align="right"><b>Departamento&nbsp;:</b></td>
                                <td align="left">
                                    <select name="lsTipoMedico" id="lsTipoMedico" class="combobox">
                                        '. $tipomedico->getStrListar($this->getStrCodigo()) .'
                                    </select>
                                </td>
                            </tr>

                            <tr>
                                <td colspan="2" class="formulariofila1" align="center">
                                    <input type="submit" class="boton" name="'. $this->getStrNombreBoton() .'" value="'. $this->getStrValorBoton() .'" />
                                    <input type="button" class="boton" value="Regresar" onclick="'. $Regresar .'" />
                                </td>
                            </tr>
                        </table>
                       ';
            $retval .= '</fieldset>';
            $retval .= '
                        </form>
                       ';
            return $retval;
        }

        public function getStrIngresar() {
            $query = new clQuery();
            $resultado = false;
            //Nombre Procedimientos Almacenados
            $ProcedimientoAlmacenado = sprintf("CALL spingresardepartamento('%d');", $this->getStrCodigo());
            $query->setStrProcedimientoAlmacenado($ProcedimientoAlmacenado);

            if($query->getStrSqlInsertUpdateDelete()){
                $descripcion = 'Departamento = [ '. $this->getStrCodigo() .' ]';
                $ProcedimientoAlmacenado = sprintf("CALL spauditoria('%s', '%s', '%s', '%s');", $_SESSION["usuario"]["cuenta"], 'G', 'tdepartamento', $descripcion);
                $query->setStrProcedimientoAlmacenado($ProcedimientoAlmacenado);
                $query->getStrSqlInsertUpdateDelete();

                $resultado = true;
            }

            return $resultado;
        }

//        public function getStrActualizar() {
//            $query = new clQuery();
//            $resultado = false;
//            //Nombre Procedimientos Almacenados
//            $ProcedimientoAlmacenado = sprintf("CALL spactualizardepartamento('%d', '%s');", $this->getStrCodigo(), $this->getStrDescripcion());
//            $query->setStrProcedimientoAlmacenado($ProcedimientoAlmacenado);
//
//            if($query->getStrSqlInsertUpdateDelete())
//                $resultado = true;
//
//            return $resultado;
//        }


        public function getStrEliminar() {
            $query = new clQuery();
            $resultado = false;
            //Nombre Procedimientos Almacenados
            $ProcedimientoAlmacenado = sprintf("CALL speliminardepartamento('%d');", $this->getStrCodigo());
            $query->setStrProcedimientoAlmacenado($ProcedimientoAlmacenado);
            $resultado = $query->getStrSqlInsertUpdateDelete();

            if($query->getStrSqlInsertUpdateDelete()){
                                $descripcion = 'Departamento = [ '. $this->getStrCodigo() .' ]';
                $ProcedimientoAlmacenado = sprintf("CALL spauditoria('%s', '%s', '%s', '%s');", $_SESSION["usuario"]["cuenta"], 'E', 'tdepartamento', $descripcion);
                $query->setStrProcedimientoAlmacenado($ProcedimientoAlmacenado);
                $query->getStrSqlInsertUpdateDelete();


                $resultado = true;
            }
            return $resultado;
        }

        public function getStrBuscar() {
            $query = new clQuery();
            $resultado = false;
            //Nombre Procedimientos Almacenados
            $ProcedimientoAlmacenado = sprintf("CALL spbdepartamento('%d');", $this->getStrCodigo());
            $query->setStrProcedimientoAlmacenado($ProcedimientoAlmacenado);
            $resultado = $query->getStrSqlSelect();

            if( count($resultado) > 0 )
            {
                foreach( $resultado as $rst):
                    $this->setStrCodigo($rst['depcodigo']);
//                    $this->setStrDescripcion($rst['depdescripcion']);
                endforeach;

                $retval = true;
            }

            return $retval;
        }

        public function getStrListar()
        {
            $paginacion = new clPaginacion();
            $query = new clQuery();

            //Nombre Procedimientos Almacenados
            $ProcedimientoAlmacenado = sprintf("CALL sptotaldepartamentos();");
            $query->setStrProcedimientoAlmacenado($ProcedimientoAlmacenado);
            $resultadototal = $query->getStrSqlSelect();

            foreach( $resultadototal as $rst):
                $paginacion->setStrTotalRegistros($rst["deptotal"]);
            endforeach;


            if(isset($_REQUEST['btnPagina']))
                $paginacion->setStrPaginaActual($_REQUEST['btnPagina']);
            else
                $paginacion->setStrPaginaActual(1);

            //Cuantos registros por p?gina
            $paginacion->setStrRegistrosPorPagina(REGISTROS);

            //Calcula la ultima pagina
            $paginacion->setStrPaginaUltima (ceil($paginacion->getStrTotalRegistros() / $paginacion->getStrRegistrosPorPagina()));

            //Si la p?gina actual es mayor que la ultima p?gina
            if($paginacion->getStrPaginaActual() > $paginacion->getStrPaginaUltima())
                $paginacion->setStrPaginaActual($paginacion->getStrPaginaUltima());

            //Si la paginaci?n actual es menor que 1
            if($paginacion->getStrPaginaActual() < 1)
                $paginacion->setStrPaginaActual(1);

            //Nombre Procedimientos Almacenados
            $ProcedimientoAlmacenado = sprintf("CALL splistardepartamentos('%d','%d');", ($paginacion->getStrPaginaActual() - 1) * $paginacion->getStrRegistrosPorPagina(), $paginacion->getStrRegistrosPorPagina());
            $query->setStrProcedimientoAlmacenado($ProcedimientoAlmacenado);
            $resultado = $query->getStrSqlSelect();

            $retval .= '<fieldset class="fieldsetGrande">';
            $retval .= '<legend class="etiquetaborde">
                            Departamento <img src="'. IMAGENES_PATH .'/siguiente.png" style="border: 0px none;"> Listado Departamentos
                        </legend>
                       ';
            $retval .= '
                        <table border="0" width="100%" cellpadding="1" cellspacing="1" align="center">
                            <tr>
                                <td colspan="4" align="center"><div class="vtip" title="Ingreso <br> [Nuevo Departamento]">
                                    <a href="'. DEPARTAMENTO_URL .'departamento.php?btnNuevo=Nuevo">| <img src="'. IMAGENES_PATH .'/nuevodepartamento.png" title="" width="16px" height="16px"  border="0" /> Nuevo Departamento |</a>
                                </div><td>
                            </tr>
                            <tr class="tablatitulo">
                                <th colspan="4">LISTADO&nbsp;DE&nbsp;DEPARTAMENTOS&nbsp;REGISTRADOS&nbsp;EN&nbsp;EL&nbsp;HOSPITAL</th>
                            </tr>
                            <tr class="tablasubtitulo">
                                <th>...</th>                                
                                <th align="center">Departamento</th>
                                <th align="center" colspan="2">Acciones</th>
                            </tr>
                        ';

            if( count($resultado) > 0 )
            {
                $i = 0;
                foreach( $resultado as $rst):
                    $retval .= '<tr class="listadofila'.$i.'" onMouseOver="resaltar(this)" onMouseOut="normal(this,'. $i .')" onclick="marcar(this,'. $i .')">';
                    $retval .= 	'<td align="center"><input name="rbSeleccionado" name="rbSeleccionado" type="radio"/></td>';
                    $retval .= 	'<td align="left">'. $rst["depdescripcion"] .'</td>';
//                    $retval .= 	'<td align="center"><div class="vtip" title="Actualizar <br> [Departamento = '. $rst["depdescripcion"] .']">';
//                    $retval .=  '<a href="'. DEPARTAMENTO_URL .'departamento.php?btnActualizar=Actualizar&strCodigo='. $rst["depcodigo"] .'"><img src="'. IMAGENES_PATH .'/actualizar.png" title="" width="16px" height="16px"  border="0" /></a>';
//                    $retval .= 	'</div></td>';
                    $retval .= 	'<td align="center"><div class="vtip" title="Eliminar <br> [Departamento = '. $rst["depdescripcion"] .']">';
                    $retval .=  '<a href="'. DEPARTAMENTO_URL .'departamento.php?btnEliminar=Eliminar&strCodigo='. $rst["depcodigo"] .'" onclick="return confirmar()"><img src="'. IMAGENES_PATH .'/eliminar.png" title="" width="16px" height="16px"  border="0" /></a>';
                    $retval .= 	'</div></td>';
                    $retval .= '</tr>';
                    $i = 1 - $i;
                endforeach;
            }

            $paginacion->setStrNombrePagina("departamento/departamento.php");
            $retval .= '<tr><td colspan="4" align="center">'. $paginacion->getStrPaginacion() .'</td></tr>';
            $retval .= '</table>';
            $retval .= '</fieldset>';
            return $retval;
        }
        
        public function getStrListarPiso($p)
        {
            $query = new clQuery();

            //Nombre Procedimientos Almacenados
            $ProcedimientoAlmacenado = sprintf("CALL splPisos();");
            $query->setStrProcedimientoAlmacenado($ProcedimientoAlmacenado);
            $resultado = $query->getStrSqlSelect();
            $retval = "";
            if( count($resultado) > 0 ) {
                $retval .= '<select name="lsPiso" id="lsPiso" class="combobox">';
                $retval .= '<option value="">Seleccione Piso</option>';
                foreach( $resultado as $rst):
                    if($rst["Id_Piso"] == $p )
                        $retval .= '<option value="'. $rst["Id_Piso"] .'" selected="selected">'. $rst["Nombre_Piso"] .'</option>';
                    else
                        $retval .= '<option value="'. $rst["Id_Piso"] .'">'. $rst["Nombre_Piso"] .'</option>';
                endforeach;
                $retval .= "</select>";
            }
 
            return $retval;
        }

    }
?>